//
//  HFCaptureView.h
//  HocusFocus
//
//  Created by Juan Carlos Jimenez on 4/1/06.
//  Copyright 2008 Juan Carlos Jimenez. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#define kHFCaptureWillDefineCaptureAreaNotification @"kHFCaptureWillDefineCaptureAreaNotification"
#define kHFCaptureDidDefineCaptureAreaNotification @"kHFCaptureDidDefineCaptureAreaNotification"
#define kHFCaptureDoneNotification @"kHFCaptureDoneNotification"
#define kHFCaptureCancelNotification @"kHFCaptureCancelNotification"

@class HFCaptureSession, HFFocusArea;

@interface HFCaptureView : NSView {
	HFCaptureSession *captureSession;
	NSPoint anchorPoint;
	NSPoint lastMousePoint;
    NSBezierPath *overlayPath;
    NSBezierPath *overlayInnerPath;
    NSShadow *overlayInnerPathShadow;
    IBOutlet NSWindow *cursorInfoWindow;
    IBOutlet NSTextField *cursorInfoXField;
    IBOutlet NSTextField *cursorInfoYField;
}

@property (retain) HFCaptureSession *captureSession;
@property (retain) NSWindow *cursorInfoWindow;
@property (retain) NSTextField *cursorInfoXField;
@property (retain) NSTextField *cursorInfoYField;
@property (retain) NSBezierPath *overlayPath;
@property (retain) NSBezierPath *overlayInnerPath;
@property (retain) NSShadow *overlayInnerPathShadow;

- (NSPoint)displayPointForScreenPoint:(NSPoint)screenPt;

- (void)updateCursorPosition:(NSPoint)pt withDisplay:(NSPoint)visiblePt;

- (void)postCaptureWillDefineCaptureAreaNotification;
- (void)postCaptureDidDefineCaptureAreaNotification;
- (void)postCaptureDidEndNotification;
- (void)postCaptureDidCancelNotification;

@end
